home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1996 #6 / Amiga Plus CD - 1996 - No. 06.iso / pd / texte / texfontinst / inputs / fontdoc.sty < prev    next >
Text File  |  1996-07-30  |  6KB  |  159 lines

  1. %%% ====================================================================
  2. %%%  @LaTeX-package-file{
  3. %%%     author          = "Alan Jeffrey",
  4. %%%     version         = "1.301",
  5. %%%     date            = "3 January 1994",
  6. %%%     time            = "23:34:20 GMT",
  7. %%%     filename        = "fontdoc.sty",
  8. %%%     address         = "School of Cognitive and Computing Sciences
  9. %%%                        University of Sussex
  10. %%%                        Brighton BN1 9QH
  11. %%%                        UK",
  12. %%%     telephone       = "+44 273 606755 x 3238",
  13. %%%     FAX             = "+44 273 678188",
  14. %%%     checksum        = "???",
  15. %%%     email           = "alanje@cogs.sussex.ac.uk",
  16. %%%     codetable       = "ISO/ASCII",
  17. %%%     keywords        = "AFM, virtual fonts, fonts, PostScript, TeX",
  18. %%%     supported       = "yes",
  19. %%%     abstract        = "This LaTeX package contains commands for 
  20. %%%                        documenting etx and mtx files from the 
  21. %%%                        fontinst package.", 
  22. %%%     docstring       = "The checksum field above contains a CRC-16
  23. %%%                        checksum as the first value, followed by the
  24. %%%                        equivalent of the standard UNIX wc (word
  25. %%%                        count) utility output of lines, words, and
  26. %%%                        characters.  This is produced by Robert
  27. %%%                        Solovay's checksum utility.",
  28. %%%     package         = "fontinst",
  29. %%%     dependencies    = "none",
  30. %%%  }
  31. %%% ====================================================================
  32.  
  33. \raggedright
  34. \raggedbottom
  35.  
  36. \newdimen\a@dimen
  37. \newcount\a@count
  38. \newcount\slot@number
  39.  
  40. \let\plainint=\int
  41.  
  42. \def\identity#1{#1}
  43. \def\x@cs#1#2{\expandafter#1\csname#2\endcsname}
  44.  
  45. \def\encoding{
  46.    \bgroup
  47.    \slot@number=0
  48. }
  49.  
  50. \def\endencoding{\egroup}
  51.  
  52. \let\metrics=\encoding
  53. \let\endmetrics=\endencoding
  54.  
  55. \def\needsfontinstversion#1{\Bheading{Needs fontinst v#1}}
  56.  
  57. \def\ifisglyph#1\then{\iftrue}
  58. \def\ifisint#1\then{\iftrue}
  59. \def\ifisdim#1\then{\iftrue}
  60. \def\ifisstr#1\then{\iftrue}
  61. \let\then=\iffalse
  62.  
  63. \def\Aheading#1{\par\medskip\noindent{\bf#1}\par}
  64. \def\Bheading#1{\par\noindent{\bf#1}}
  65.  
  66. \def\setdim#1#2{\a@dimen=#2\relax\Bheading{Default} #1 = \the\a@dimen}
  67. \def\setint#1#2{\Bheading{Default} #1 = $\expression0{#2}$}
  68. \def\setstr#1#2{\Bheading{Default} #1 = #2}
  69.    
  70. \def\resetdim#1#2{\a@dimen=#2\relax\Bheading{Value} #1 = \the\a@dimen}
  71. \def\resetint#1#2{\Bheading{Value} #1 = $\expression0{#2}$}
  72. \def\resetstr#1#2{\Bheading{Value} #1 = #2}
  73.    
  74. \def\expression#1#2{\a@count=#1\relax#2}
  75. \def\bracket#1{(#1)}
  76. \def\priority#1#2{
  77.    \ifnum\a@count<#1
  78.       \let\next=\identity
  79.    \else
  80.       \let\next=\bracket
  81.    \fi
  82.    \next{#2}
  83. }
  84.  
  85. \def\int#1{{\fam0#1}}
  86. \def\width#1{w({\fam0#1})}
  87. \def\height#1{h({\fam0#1})}
  88. \def\depth#1{d({\fam0#1})}
  89. \def\italic#1{i({\fam0#1})}
  90. \def\kerning#1#2{k({\fam0#1})({\fam0#1})}
  91.  
  92. \def\neg#1{\priority8{-\expression6{#1}}}
  93. \def\add#1#2{\priority2{\expression2{#1}+\expression2{#2}}}
  94. \def\sub#1#2{\priority2{\expression3{#1}-\expression3{#2}}}
  95. \def\mul#1#2{\priority4{\expression4{#1}\times\expression4{#2}}}
  96. \def\div#1#2{\priority4{\expression5{#1}/\expression5{#2}}}
  97. \def\max#1#2{\priority6{\expression6{#1}\sqcup\expression6{#2}}}
  98. \def\min#1#2{\priority7{\expression7{#1}\sqcap\expression7{#2}}}
  99. \def\scale#1#2{\div{\mul{#1}{#2}}{1000}}
  100.  
  101. \def\nextslot#1{\slot@number=#1\relax}
  102. \def\setslot#1{\def\slot@name{#1}\Aheading{Slot \the\slot@number\space `#1'}}
  103. \def\endsetslot{\advance\slot@number by 1\relax}
  104.  
  105. \def\ligature#1{\Bheading{Ligature} \csname doc-#1\endcsname}
  106.  
  107. \x@cs\def{doc-LIG}#1#2{$\fam0 \slot@name * #1 \rightarrow #2$}
  108. \x@cs\def{doc-/LIG}#1#2{$\fam0 \slot@name * #1 \rightarrow \slot@name * #2$}
  109. \x@cs\def{doc-LIG/}#1#2{$\fam0 \slot@name * #1 \rightarrow #2 * #1$}
  110. \x@cs\def{doc-/LIG/}#1#2{$\fam0 \slot@name * #1 \rightarrow \slot@name * #2 * #1$}
  111. \x@cs\def{doc-/LIG>}#1#2{$\fam0 \slot@name * #1 \rightarrow \slot@name + #2$}
  112. \x@cs\def{doc-LIG/>}#1#2{$\fam0 \slot@name * #1 \rightarrow #2 + #1$}
  113. \x@cs\def{doc-/LIG/>}#1#2{$\fam0 \slot@name * #1 \rightarrow \slot@name + #2 * #1$}
  114. \x@cs\def{doc-/LIG/>>}#1#2{$\fam0 \slot@name * #1 \rightarrow \slot@name + #2 + #1$}
  115.  
  116. \def\comment{\par\noindent}
  117.  
  118. \def\nextlarger#1{\Bheading{Next larger} #1}
  119. \def\varchar{\Bheading{Extensible glyph:}}
  120. \def\vartop#1{\Bheading{Top} #1}
  121. \def\varmid#1{\Bheading{Middle} #1}
  122. \def\varbot#1{\Bheading{Bottom} #1}
  123. \def\varrep#1{\Bheading{Repeated} #1}
  124. \let\endvarchar\relax
  125.  
  126. \def\setkern#1#2#3{\Bheading{Kern} ${\fam0 #1 + #2} \rightarrow 
  127.    \expression0{#3}$}
  128. \def\setleftkerning#1#2#3{\Bheading{Kern} #1 on the left like #2 
  129.    scaled $\expression0{#3}$}
  130. \def\setrightkerning#1#2#3{\Bheading{Kern} #1 on the right like #2 
  131.    scaled $\expression0{#3}$}
  132.  
  133. \def\setrawglyph#1#2#3#4#5#6#7#8{\Aheading{Glyph `#1'}
  134.    \Bheading{Taken from} slot #4 in font #2}
  135.  
  136. \def\setglyph#1{\Aheading{Glyph `#1'}}
  137. \def\endsetglyph{}
  138.  
  139. \def\resetglyph#1{\Aheading{Reset glyph `#1'}}
  140. \def\reendsetglyph{}
  141.  
  142. \def\glyph#1#2{\Bheading{Glyph} #1 scaled $\expression0{#2}$}
  143. \def\glyphrule#1#2{\Bheading{Rule} $\expression0{#1}$ by 
  144.    $\expression0{#2}$}
  145. \def\glyphspecial#1{\Bheading{Special} `#1'}
  146. \def\glyphwarning#1{\Bheading{Warning} `#1'}
  147. \def\movert#1{\Bheading{Rt}~$\expression0{#1}$}
  148. \def\moveup#1{\Bheading{Up}~$\expression0{#1}$}
  149. \def\push{\Bheading{Push}}
  150. \def\pop{\Bheading{Pop}}
  151.  
  152. \def\setcommand#1{\ifx#1\undefined@command
  153.    \expandafter\def\expandafter#1\else
  154.    \expandafter\def\expandafter\a@command\fi}
  155.  
  156. \def\plain{{\tt plain}}
  157.  
  158. \endinput
  159.